2 V=53248:HL=50:DIM L(HL,3),TA(HL),MI(HL),LA(HL),AA(HL),SC$(40),N$(40) 3 POKE V+21,0 10 POKE53280,0:POKE53281,0:R1$=" [175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]":R2$="[167]":R3$="[165]":R4$=" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 11 K$="" 12 GOSUB 1600 20 O$(0)="[152][193][194][195][196][157][157][157][157][197][199][199][200][157][157][157][157][155][201][199][199][202]" 22 O$(1)="[154][155][193][194][195][196][157][157][157][157][152][197][199][199][200][157][157][157][157][151][201][199][199][202]" 24 O$(2)="[152]][157]][157]][157]]" 26 O$(3)="[152]][157]][157]][157]]" 30 SYS 49152:POKE 250,1:POKE 252,0:POKE 254,3:L3=24:L4=29:L1=24:L2=29 40 UX(0)=94:UX(1)=94:UX(2)=30:UX(3)=157:UY(0)=205:UY(1)=73:UY(2)=113:UY(3)=113 50 R$="[156]":EN=1000:PO=0:VN=1.5 60 E$="[151] [157][157][157][157][157][157][157]" 62 PI$="[151] [157][157][157][157][157][157][157]" 70 RB$="[150]" 75 RT$(1)="[159][172][151][175][186]":RT$(4)="[155][162][162][162][162]":RT$(3)="[155][185][185][185]":RT$(2)="[159][188][151][183][208]" 76 RT$(6)="[152][184][184][184][184]":RT$(5)="[152][183][183][183]":RT$(7)="[155][175][164][157][157][152][163]" 78 VL$="................" 90 POKEV,100:POKEV+1,160:POKEV+37,15:POKEV+38,6:POKEV+39,11:POKE V+40,0 92 POKE V+28,7:POKE 33784,16:POKE 33785,16:POKE V+27,7:POKE V+41,0 94 POKE V+2,100:POKEV+3,100:POKEV+4,100:POKEV+5,140:POKE 744,0 96 POKE 711,56:POKE 713,57:POKE 715,58:POKE 717,59:POKE V+42,7 98 POKE 53275,PEEK(53275)OR8 107 IF PEEK(744)=1 THEN 1900 110 H=16 120 FORN=0TOHL 121 :FORM=0TO3 122 ::READ L(N,M) 124 :NEXT 126 NEXT 140 FORN=0TO6:READ MI(N):NEXT 150 FORN=0TO8:READ LA(N):NEXT 160 FORN=0TO15:READ TA(N):NEXT 170 FORN=0TO3:READ AA(N):NEXT 198 POKE V+21,1 199 GOSUB1000:GOSUB2000:PRINTPI$;"0":PRINTE$"1000" 200 IF PEEK(743)=1 THEN EN=EN-25:PRINT E$;EN:GOSUB 1700:POKE 743,0 205 IF PEEK(742)=1 THEN POKE 742,0:PO=PO+50:PRINT PI$;PO 207 IF H=0 THEN IF PEEK(744)=1 THEN 1900 210 IF PEEK(251)<>0 THEN LS=PEEK(251)-1:GOSUB 1100:POKE 251,0 220 GET A$:IF A$="[136]" THEN GOSUB 1200 250 POKE 33784,PEEK(250)+A*PEEK(736)+15:A=-(A=0) 251 IF VA=0 THEN IF RND(1)>TN1 THEN VA=1:POKE V+21,PEEK(V+21)OR2 255 ON VA GOSUB 700,720,730,770 283 IF VB=0 THEN IF RND(1)>TN1 THEN VB=1:POKE V+21,PEEK(V+21)OR4 285 ON VB GOSUB 740,750,760,780 300 GOTO 200 498 : 499 : 600 POKE V+21,PEEK(V+21)AND(255-2^SP) 610 POKE V+SP*2,INT(RND(1)*131+29):POKE V+SP*2+1,INT(RND(1)*131+70) 620 RETURN 700 POKE 33785,L1:L1=L1+1:IF L1>29 THEN L1=24:VA=2:POKE 704,1 719 RETURN 720 POKE 33785,PEEK(253)+A2+16:A2=-(A2=0) 721 IF RND(1)>TN2 THEN POKE704,0:VA=3 729 RETURN 730 POKE 33785,L2:L2=L2-1:IF L2<24 THEN L2=29:VA=0:SP=1:GOSUB600 739 RETURN 740 POKE 33786,L3:L3=L3+L3:IF L3>29 THEN L3=24:VB=2:POKE 705,1 750 POKE 33786,PEEK(2)+A3+16:A3=-(A3=0) 753 IF RND(1)> TN2 THEN POKE705,0:VB=3 759 RETURN 760 POKE 33786,L4:L4=L4-1:IF L4<24 THEN L4=29:VB=0:SP=2:GOSUB600 769 RETURN 770 SP=1:GOSUB 600:POKE 709,0:RETURN 780 SP=2:GOSUB 600:POKE 710,0:RETURN 998 : 999 : 1000 IF H=0 THEN 1500 1001 POKE 738,0:PRINT" [146]" 1002 PRINT" [146][152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]" 1003 PRINT" [146][152]]]]]]]]]]]]]]]]]]] [146]" 1004 PRINT" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]" 1005 FORN=0TO12:PRINT" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":NEXT 1006 PRINT" [146]" 1007 PRINT"[155][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1008 PRINT"[152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1009 PRINT"[151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1010 FORN=0TO3:IF L(H,N)=>0 THEN PRINTO$(N) 1020 NEXT 1030 FORN=0TO6:IF MI(N)=H THEN PRINT"[155][203]":MT=N 1032 NEXT 1040 FORN=0TO8:IF LA(N)=H THEN PRINT"[155][204]":LT=N 1042 NEXT 1049 FORN=0TO15:IF TA(N)=H THEN PRINT"[158][205]":TT=N 1050 NEXT 1051 FORN=0TO4:IF AA(N)=H THEN PRINT"[":AT=N 1052 NEXT 1060 PRINT R$;" " 1070 TN1=.5:TN2=.9 1092 VA=0:VB=0:POKE 704,0:POKE705,0 1097 RETURN 1098 : 1099 : 1100 IF L(H,ABS(LS)) <0 THEN RETURN 1105 POKE V+21,PEEK(V+21)AND(255-31) 1110 H=L(H,ABS(LS)):GOSUB 1000 1112 POKE V,UX(LS):POKE V+1,UY(LS) 1115 POKE V+21,17:IF H<>0 THEN POKE V+8,0 1120 EN=EN-25+INT(RND(1)*5):PRINT E$;EN 1160 RETURN 1198 : 1199 : 1200 RA=INT((PEEK(V)-16)/8):SA=INT((PEEK(V+1)-42)/8):MP=32768+RA+SA*40 1205 T=0: M(0)=MP-41:M(1)=MP-40:M(2)=MP-39:M(3)=MP-1:M(4)=MP+1:M(5)=MP+39 1206 M(6)=MP+40:M(7)=MP+41 1208 FORN=0TO7:IF PEEK(M(N))=27 THEN POKE M(N),71:AA(AT)=-1:T=3 1209 NEXT 1210 FORN=0TO7:IF PEEK(M(N))=75 THEN POKE M(N),71:MI(MT)=-1:T=1 1211 NEXT 1212 FORN=0TO7:IF PEEK(M(N))=76 THEN POKE M(N),71:LA(LT)=-1:T=2 1213 NEXT 1214 FORN=0TO7:IF PEEK(M(N))=77 THEN POKE M(N),71:TA(TT)=0:T=4 1215 NEXT 1220 IF T=0 THEN RETURN 1230 IF T=3 THEN PO=PO+100:PRINTR$" ":PRINTR$"BONUS.":PRINTPI$;PO:RETURN 1240 IF T=2 THEN EN=EN+100:PRINTE$;EN:RETURN 1250 IF T=1 THEN RT=RT+1:GOSUB 1880:RETURN 1260 IF T=4 THEN S=INT(RND(1)*4+1):ON S GOSUB 1270,1280,1290,1300 1261 RETURN 1270 PRINTR$" ":PRINTR$"TELEPORT!" 1272 H=INT(RND(1)*51):GOSUB 1000 1274 RETURN 1280 PRINTR$" ":PRINTR$"WEAKEN!" 1282 EN=200:PRINTE$;EN 1284 RETURN 1290 PRINTR$" ":PRINTR$"REVIVE!" 1292 EN=2000:PRINTE$;EN 1294 RETURN 1297 RETURN 1298 : 1299 : 1300 PRINTR$" ":PRINTR$"SLEEP!" 1302 POKE 704,0:POKE 705,0:VA=4:VB=4 1304 RETURN 1500 : 1505 POKE V+21,1 1510 : 1520 PRINT"[158] [146]" 1525 PRINT" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][158] [146]" 1526 PRINT" [146][152][192][192][192][192][192][151][192][155]FINISH[151][192][152][192][192][192][192][192][158] [146]" 1527 PRINT" [146][152][192][155][192][192][192][152][192][151][192][192][192][192][192][192][192][192][152][192][155][192][192][192][152][192][158] [146]" 1528 PRINT" [146][152][192][155][192][192][155][192][152][192][151][192][193][194][195][194][195][196][192][152][192][155][192][192][155][192][152][192][158] [146]" 1529 PRINT" [146][152][192][155][192][192][155][192][152][192][151][192][197][199][199][199][199][200][192][152][192][155][192][192][155][192][152][192][158] [146]" 1530 PRINT" [146][152][192][155][192][192][192][152][192][151][192][201][199][199][199][199][202][192][152][192][155][192][192][192][152][192][158] [146]" 1531 PRINT" [146][152][192][192][192][192][192][151][192][201][199][199][199][199][202][192][152][192][192][192][192][192][158] [146]" 1532 PRINT" [146][151][192][192][192][192][192][192][201][199][199][199][199][202][192][192][192][192][192][192][158] [146]" 1540 PRINT"[158] [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][158] [146]" 1542 PRINT"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]" 1543 PRINT"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]" 1544 PRINT"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]" 1545 PRINT"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]" 1546 PRINT"[151][192][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][192]" 1550 FORN=0TO1:PRINT" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":NEXT 1552 PRINT" [146]" 1554 FORN=0TO2:PRINT"[154][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":NEXT 1560 PRINTO$(1):POKE 704,0:POKE 705,0:VA=4:VB=4 1570 POKE V+8,90:POKE V+9,100:POKE V+43,1:POKE V+21,PEEK(V+21)OR16 1580 POKE V+23,16:POKE 33788,28:POKE V+28,PEEK(V+28)OR16:POKE 738,1 1590 RETURN 1598 : 1599 : 1600 PRINT"[147]";:VA$(1)="[151]":VA$(2)="[152]":VA$(3)="[155]":VA$(4)="":VA$(5)="[155]":VA$(6)="[152]" 1605 VA$(7)="[156]":VA$(8)="":VA$(9)="[144]" 1610 FORN=1TO7:PRINTVA$(N) 1620 PRINT" * SHADOWRUN * " 1625 FORT=0TO50:NEXT 1630 NEXT 1631 FORT=0TO1000:NEXT 1632 FORN=1TO8:PRINTVA$(N) 1634 PRINT"PROGRAMMED BY HARRI HOLOPAINEN" 1636 FORT=0TO50:NEXT 1638 NEXT 1640 FORT=0TO1200:NEXT 1642 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]" 1644 PRINT"[155] PLUG YOUR JOYSTICK IN PORT NO. 1" 1646 PRINT"[152]COLLECT THE SEVEN PIECES OF EXCALIBUR" 1648 PRINT"[151] AND ESCAPE FROM THE CASTLE." 1650 PRINT"[152] [204] - FOOD [205] - SPELL" 1652 PRINT"[155] [ - TREASURE [203] - PIECE" 1654 PRINT"[152] USE 'F7' TO PICK UP/USE THINGS FOUND" 1656 PRINT"[151] PRESS 'F 1' TO START!" 1690 GET A$:IF A$<>"[133]" THEN 1690 1695 PRINT"[147]";:RETURN 1698 : 1699 : 1700 IF EN>0 THEN RETURN 1702 POKE 56334,128:POKE 788,49:POKE 789,234:POKE 56334,129 1705 POKE V+21,1:POKE V+42,0 1710 FORN=29 TO 24 STEP -1 1720 POKE 33784,N 1730 FORT=0 TO 200:NEXT 1740 NEXT:POKE V+21,0 1750 FORT=0 TO 500:NEXT 1751 PRINT"[158]\\\\\\\\\\\\\" 1752 FORN=0TO2:PRINT"\ \":NEXT 1753 PRINT"\\\\\\\\\\\\\" 1755 FORN=1 TO 7:PRINTVA$(N) 1760 PRINT"GAME OVER." 1765 FORT=0TO60:NEXT 1766 NEXT 1770 FOR N=1 TO 8:PRINTVA$(N) 1772 PRINT"YOUR SCORE:" 1774 FORT=0TO60:NEXT 1776 NEXT 1777 FORN=1 TO 6:PRINTVA$(N) 1778 PRINT"";PO 1779 FORT=0TO60:NEXT 1780 NEXT 1782 PRINT" [150]PRESS F1 TO CONTINUE " 1785 GET A$:IFA$<>"[133]"THEN1750 1790 OPEN 1,8,2," HIGH SCORES" 1791 FORN=10TO1STEP-1:INPUT#1,N$(N):INPUT#1,SC(N):NEXT 1792 CLOSE 1 1793 PRINT"[147][159] T O P S C O R E S [154]" 1794 FORN=1TO10 1795 PRINT"[158]"N". [156]"LEFT$(N$(N)+VL$,10)"......"SC(N) 1796 NEXT 1798 PRINT" [158]YOUR SCORE WAS"PO 1799 : 1800 IF PO="[133]" THEN 1855 1860 RUN 1880 PRINT"";RT$(RT):PO=PO+300:PRINTPI$;PO 1881 IF RT<7 THEN RETURN 1882 POKE 711,60:POKE 713,61:POKE 715,62:POKE 717,63 :POKE V+42,1 1890 RETURN 1898 : 1899 : 1900 POKE 738,0:PO=PO+5000 1903 POKE 56334,128:POKE 788,49:POKE 789,234:POKE 56334,129 1905 FORN=28 TO 24 STEP -1 1910 POKE 33788,N 1920 FORT=0 TO 100:POKE V+43,0:POKE V+43,1:NEXT 1930 NEXT:POKE V+21,1 1950 POKE V+21,0 1955 PRINT"[150] PRESS F1 TO CONTINUE" 1957 FORN=9TO1STEP-1:PRINTVA$(N) 1960 PRINT"CONGRATULATIONS!" 1965 FORT=0TO20:NEXT T 1970 NEXT N 1972 FORN=9TO1STEP-1:PRINTVA$(N) 1974 PRINT"YOUR SCORE:"PO 1975 FORT=0TO20:NEXT 1976 NEXT 1980 GET A$:IF A$<>"[133]" THEN 1957 1990 GOTO 1790 1998 : 1999 : 2000 PRINT"]]]][158]ENERGY]]]]" 2002 PRINT"][150]] [150] ]]" 2004 PRINT"][150]] ]]" 2006 PRINT"][150]] ]]" 2008 PRINT"][150]]]][158]SCORE[150]]]]]]" 2010 PRINT"][150]] ]]" 2012 PRINT"][150]] ]]" 2014 PRINT"][150]] ]]" 2016 PRINT"][150]]]][158]MAGIC[150]]]]]]" 2018 PRINT"][150]] ]]" 2020 PRINT"][150]] ]]" 2022 PRINT"][150]] ]]" 2024 PRINT"]]]]]]]]]]]]]]" 2097 : 2098 : 2099 RETURN 10000 DATA -1,3,-1,-1 10001 DATA -1,6,-1,-1 10002 DATA -1,-1,3,-1 10003 DATA 0,9,4,2 10004 DATA -1,-1,5,3 10005 DATA -1,-1,6,4 10006 DATA 1,-1,-1,5 10007 DATA -1,13,8,-1 10008 DATA -1,-1,9,7 10009 DATA 3,14,10,8 10010 DATA -1,-1,11,9 10011 DATA -1,30,12,10 10012 DATA -1,-1,-1,11 10013 DATA 7,-1,-1,-1 10014 DATA 9,-1,-1,15 10015 DATA -1,16,14,-1 10016 DATA 15,17,-1,-1 10017 DATA 16,18,19,-1 10018 DATA 17,-1,-1,-1 10019 DATA -1,20,25,17 10020 DATA 19,21,24,-1 10021 DATA 20,22,-1,-1 10022 DATA 21,-1,23,-1 10023 DATA -1,36,-1,22 10024 DATA 25,-1,31,20 10025 DATA -1,24,26,19 10026 DATA 27,31,-1,25 10027 DATA 30,26,28,-1 10028 DATA -1,-1,29,27 10029 DATA -1,-1,-1,28 10030 DATA 11,27,-1,-1 10031 DATA 26,-1,32,24 10032 DATA -1,-1,33,31 10033 DATA -1,-1,-1,32 10034 DATA 37,37,35,36 10035 DATA -1,-1,36,34 10036 DATA 23,-1,34,35 10037 DATA 34,34,-1,38 10038 DATA -1,-1,37,39 10039 DATA 40,41,38,-1 10040 DATA -1,34,-1,-1 10041 DATA 39,42,-1,-1 10042 DATA 41,-1,43,-1 10043 DATA -1,-1,44,42 10044 DATA -1,47,45,43 10045 DATA -1,48,46,44 10046 DATA 50,49,-1,45 10047 DATA 44,-1,48,-1 10048 DATA 45,-1,49,47 10049 DATA 46,-1,-1,48 10050 DATA -1,46,-1,-1 10498 : 10499 : 10500 DATA 13,16,29,18,33,40,50 10510 DATA 4,8,11,27,24,23,42,45,37 10520 DATA 1,2,4,7,10,12,14,17,25,31,21,35,41,43,46,47 10530 DATA 30,31,40,44,48 20000 OPEN 2,8,2,"@: HIGH SCORES,S,W" 20001 FORN=1TO10:PRINT#2,"....."+CHR$(13):PRINT#2,N*50 20002 NEXT:CLOSE2